package collection;

import homework.day09.Point;

import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;

/**
 * 集合的有些操作是与元素的equals方法相关的
 */
public class CollectionDemo2 {
    public static void main(String[] args) {
//        Collection c = new ArrayList();
        //HashSet是最常用的Set集合实现类
        Collection c = new HashSet();
        c.add(new Point(1,2));
        c.add(new Point(3,4));
        c.add(new Point(5,6));
        c.add(new Point(7,8));
        c.add(new Point(9,0));
        c.add(new Point(1,2));
        /*
            输出集合时，元素内容的展现也是依靠元素自身toString方法返回的字符串
            进行的。
         */
        System.out.println(c);

        Point p = new Point(1,2);
        /*
            boolean contains(Object o)
            判断当前集合是否包含给定元素。判断依据为:给定元素是否与集合现有
            元素存在equals比较为true的情况，有，则认为包含该元素。
         */
        boolean contains = c.contains(p);
        System.out.println("是否包含:"+contains);

        /*
            remove方法用于删除集合元素，删除的是与集合中equals比较为true的元素。
            对于List集合这样可以存放重复元素的集合而言，仅会删除一次。
         */
        c.remove(p);
        System.out.println(c);

    }
}